package com.lanchetech.bean.vo.jst;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单上传
 */
@Data
public class UploadOrderVO {

    /**
     * 店铺编号
     */
    Integer shop_id;

    /**
     * 分仓编号
     */
    Integer wms_co_id;

    /**
     * 自研商城系统订单号,长度<=50，自有商城店铺中唯一值不允许重复单号上传
     */
    String so_id;

    /**
     * 订单日期
     */
    String order_date;

    /**
     * 自研商城系统订单状态：
     * 等待买家付款=WAIT_BUYER_PAY，
     * 等待卖家发货=WAIT_SELLER_SEND_GOODS（传此状态时实际支付金额即pay节点支付金额=应付金额ERP才会显示已付款待审核）,
     * 等待买家确认收货=WAIT_BUYER_CONFIRM_GOODS,
     * 交易成功=TRADE_FINISHED,
     * 付款后交易关闭=TRADE_CLOSED,
     * 付款前交易关闭=TRADE_CLOSED_BY_TAOBAO；可更新
     */
    Integer shop_status;

    /**
     * 买家账号
     */
    String shop_buyer_id;

    /**
     * 收货省份
     */
    String receiver_state;

    /**
     * 收货城市
     */
    String receiver_city;

    /**
     * 收货区/街道
     */
    String receiver_district;

    /**
     * 收货街道
     */
    String receiver_town;

    /**
     * 收货国家
     */
    String receiver_country;

    /**
     * 收货地址
     */
    String receiver_address;

    /**
     * 收件人
     */
    String receiver_name;

    /**
     * 联系电话
     */
    String receiver_phone;

    /**
     * 手机
     */
    String receiver_mobile;

    /**
     * 收货邮箱
     */
    String receiver_email;

    /**
     * 邮政编码
     */
    String receiver_zip;

    /**
     * 应付金额
     */
    BigDecimal pay_amount;

    /**
     * 运费
     */
    BigDecimal freight;

    /**
     * 买家留言
     */
    String buyer_message;

    /**
     * 卖家备注
     */
    String remark;

    /**
     * 跨境买家指定物流
     */
    String shipment;

    /**
     * 是否货到付款
     */
    Boolean is_cod;

    /**
     * 订单修改日期
     */
    String shop_modified;

    /**
     * 快递单号
     */
    String l_id;

    /**
     * 快递公司名称
     */
    String logistics_company;

    /**
     * 订单异常描述
     */
    String question_desc;

    /**
     * 卖家标签（旗帜），可选1:red,2:yellow,3:green,4:blue,5:purple
     */
    Integer seller_flag;

    /**
     * 商品明细
     */
    List<ItemVO> items;

    /**
     * shop_status=WAIT_BUYER_PAY 的时候可不传，如果Pay节点不传系统默认为等待买家支付状态，如果此时ERP设置了只下载已支付订单则未支付的订单会被拦截创建无效
     */
    PayVO pay;

    /**
     * card节点非必填，如果填写了节点中name，card_id必填
     */
    CardVO card;
}
